O

Oracle

Builds databases, business apps and cloud services

Principal Software Engineer

Backend EngineeringConfirmed live in the last 24 hours
Full-timeIn-person

About the Job

Requirements

  • A bachelor's or master's degree in computer science or a related technical discipline, or comparable professional experience.
  • At least six years of developing production software, including 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 continuous integration and continuous delivery practices.
  • Experience operating production services, including monitoring, troubleshooting, incident response, and participation in on-call rotations.
  • Ability to lead complex engineering work, communicate architectural decisions, and collaborate across teams.
  • Sound engineering judgment when using artificial-intelligence-assisted development tools, including independently verifying correctness, security, and maintainability.

Responsibilities

  • 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.
  • Design software solutions and analyze requirements to achieve business and operational goals, sharing results with the manager upon completion.
  • Adhere to and improve execution of all phases of the software development lifecycle, providing guidance and coaching to engineers to drive improvements.
  • Use advanced knowledge to develop and guide software features and enhancements, lead design specifications, ensure accessibility, and develop documents clarifying software design and code.
  • Lead code reviews in multiple areas to drive improvements.
  • Debug and troubleshoot complex software issues, and develop fixes for identified issues.
  • Implement comprehensive functional and non-functional software testing, quality assurance processes, software error logging, monitoring, and observability for effective debugging, sharing work with the manager or lead upon completion.
  • Conduct performance profiling and optimize coding, build scalable solutions, and anticipate and resolve potential outcomes.
  • Troubleshoot and resolve complex issues related to application programming interface functionality and integration; implement complex API versioning, lifecycle, and interoperability strategies.
  • Implement and contribute to the development of software, systems, and services, ensuring review by the manager or senior technical leaders upon completion; recommend project or design scope.
  • Provide technical guidance and coaching to less experienced developers in existing software architecture.
  • Contribute to periodic reviews and ensure adherence to architectural standards.
  • Collaborate with stakeholders and external networks to ensure work aligns with software architecture.
  • Implement complex performance optimization and scalability strategies in software design.
  • Conduct occasional technology research and evaluation for potential architectural changes that may affect team results.
  • Collaborate with stakeholders to understand customer issues and align solutions.
  • Provide advanced technical guidance and support to customers regarding customer-reported issues when needed.
  • Advocate for customers' interests and suggest product enhancements based on feedback.
  • Support customer satisfaction through timely issue resolution and effective communication.
  • Identify and implement customer issue or defect handling and training processes.
  • Investigate and troubleshoot complex, broad-reaching maintenance issues to secure customer agreement on short- and long-term solutions, including future enhancements.
  • Collaborate with the team and external parties to follow development practices and coding standards, providing coaching to less experienced team members.
  • Participate in peer review processes, provide technical leadership, and independently ensure code quality and adherence to broad acceptance criteria during development.
  • Demonstrate and share advanced knowledge of industry best practices and apply them to software development processes.
  • Implement complex secure coding practices to prevent security vulnerabilities.
  • Perform periodic maintenance and testing operations for systems requiring upgrades or patching, including for critical vulnerabilities, sharing results with the manager upon completion.
  • Drive improvements and ensure automation, testing, and debugging of systems to support service and product availability, health, support, and reliability.
  • Manage and coordinate moderately complex tasks, monitoring timelines and deliverables to ensure timely completion and adherence to requirements for a moderately sized project or initiative.
  • Delegate, monitor, and prioritize work across multiple projects, provide technical oversight, and adjust plans to address shifts in resources or timelines.
  • Collaborate across the organization to align expectations and achieve shared objectives.
  • Use understanding of business leaders, stakeholders, and customers to ensure proposed solutions meet their needs.
  • Support inclusivity by actively seeking and listening to diverse perspectives and ensuring others feel heard and respected.
  • Identify and address moderately complex issues by analyzing a wide range of data and information and finding solutions in accordance with standard practices.
  • Proactively escalate unresolved or critical issues with a thorough assessment and suggest potential solutions.
  • Review, contribute to, and document problem-solving strategies.
  • Pursue learning opportunities to expand knowledge, skills, or tools in new areas and stay abreast of industry trends and best practices.
  • Seek and use ongoing feedback and training to improve skills.
  • Coach and mentor junior team members, fostering continuous learning and knowledge sharing within and across teams.
  • Develop ideas, recommend updates, or collaborate on implementing process improvements to increase the efficiency and effectiveness of processes, protocols, and workflows across teams, and evaluate their impact on stakeholders.
  • Solicit feedback on ideas for alternative approaches and methods for continued improvement.
  • Participate in candidate interviews, assess candidates, and provide hiring recommendations as a contribution to the talent development pipeline.

Desired Qualifications

  • Experience building messaging systems, distributed storage, event-processing platforms, or similar infrastructure services.
  • Familiarity with 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.

About the Company

Oracle

Builds databases, business apps and cloud services

Oracle builds databases, business applications, and cloud infrastructure for companies and public-sector organizations. Oracle Database stores and processes business data, while Oracle Cloud Infrastructure provides computing, storage, and networking for applications and AI workloads. Fusion Cloud Applications support finance, human resources, supply chains, and customer service, helping businesses manage everyday operations and reporting. Customers pay for cloud subscriptions and usage, software licenses, support, hardware, and consulting, with deployment options in Oracle's cloud or their own data centers. Oracle was founded in 1977 and is headquartered in Austin, Texas.

Company size
10,001+
Company stage
IPO
Headquarters
Austin, TX
Founded
1977

Recently Posted Jobs

Explore more opportunities at Oracle

See more jobs