Oracle Corporation

Senior Principal Software Engineer

Oracle Corporation$135K — $306K *
Information Technology
5 - 7 years of experience
Job Overview by Ladders

Qualifications

  • MS degree or higher in Computer Science focusing on formal specification and verification.
  • 5+ years of professional software development experience in concurrent and distributed systems, preferably in cloud services.
  • Expertise in writing high-performance concurrent code using languages like C/C++, Java, GoLang, or Rust.
  • In-depth knowledge of distributed algorithms for cloud data-planes, such as Paxos and Raft.
  • Proficiency in specifying and verifying systems' safety and liveness using TLA+ and model checkers.

Responsibilities

  • Use formal methods to assist developers in identifying subtle bugs in complex systems.
  • Guide engineers in precisely articulating their requirements and algorithms to uncover design bugs.
  • Review critical code sections to reverse-engineer and verify correctness against high-level designs.
  • Employ model-checkers and machine-checked proofs to validate design correctness.
  • Collaborate on developing methodologies and tools for safe generative AI integration in software development.

Benefits

  • Comprehensive medical, dental, and vision insurance.
  • 401(k) with company match and flexible spending accounts.
  • Generous paid time off policy including flexible vacation and sick leave.
  • Paid parental leave and adoption assistance.
  • Employee Stock Purchase Plan and financial planning support.
Full Job Description
Job Description

This is your opportunity to apply formal specification and verification to real-world cloud-scale distributed systems, as part of an engineering organization that highly values formal methods. OCI has been using formal methods--primarily TLA+, as well as some others--since we started in 2014. Oracle is a founding premier member of the TLA+ Foundation industry-standards body, and OCI employees are very active in the TLA+ community.

We are expanding our in-house formal verification team to handle major new development initiatives. OCI is building our next generation of core data-planes and cloud automation, for which correctness and reliability are critical. We know that achieving those properties requires use of formal methods. Our formal verification team assists development teams across all of OCI, so the role has high visibility and impact.

We are looking for self-motivated engineers with passion and expertise for practical application of formal methods to complex problems. You should value collaboration, innovation, pragmatism, and be focused on achieving results.

Responsibilities

We use formal specification and verification methods to help developers of complex systems find very subtle bugs that are unlikely to be caught by normal testing techniques. We focus on preventing the kinds of bugs that would cause the most severe problems for our customers, in particular data loss/corruption or security vulnerabilities.

We achieve this via the following activities:
  • Help engineers to state their requirements and algorithms much more precisely than conventional design docs. This typically uncovers many ambiguities and invalid assumptions - i.e. design bugs.
  • Provide additional ways to describe and think about requirements and design. This change in perspective can itself reveal problems.
  • Review critical sections of code, to reverse-engineer the higher-level algorithm or design that has been implemented. This 'recovered design' can then be formally verified to satisfy its intended properties.
  • Use tools such as model-checkers, constraint solvers, and increasingly (due to rapid progress with AI) machine-checked proof, in order to check a precise design against precise correctness properties.


Additionally, we are helping to create new methodologies and tools to enable safe and productive use of Generative AI for designing, implementing, and testing mission-critical components and services. For example:
  • Automatically generate formal specifications from informal descriptions to remove ambiguity. Then validate that those specifications accurately capture the intent of the author -- i.e. that the resulting formal specifications allow behaviors that are desired, while disallowing all behaviors that should be prohibited.
  • Automatically generate implementation code from a formal specification, and then validate that the generated code satisfies the specification, e.g. via trace-validation/conformance testing, or by using code-level verification systems such as Verus, or by other techniques that you find or invent.
  • Automatically reverse-engineer a formal specification from code, at an appropriate level of abstraction such that the extracted specification can then be verified against high-level correctness properties.
  • Using AI to find inductive invariants and write mechanically checked proofs.


Responsibilities

  • MS degree or higher in Computer Science, involving a significant amount of formal specification and verification.
  • 5+ years of full-time professional software development of concurrent and distributed systems, ideally cloud services.
  • Ability to write correct high-performance concurrent code in at least one of C/C++, Java, GoLang, or Rust.
  • Deep knowledge of standard distributed algorithms used in cloud dataplanes, e.g. Paxos, Raft, Viewstamped Replication, leases, methods of concurrency control, storage systems, and transaction systems.
  • Skilled in reading informal requirements, system designs, and code. Skilled in identifying the most critical and complex/subtle parts, and writing formal specifications for those parts at a level of abstraction appropriate for verifying correctness of the system.
  • Skilled in specifying safety and liveness using TLA+ on real-world problems, i.e. applying abstraction. Knowledge and experience of other specification methods and tools is also highly valued.
  • Skilled in verifying safety and liveness using model checkers such as TLC and Apalache.
  • Ideally, skilled at applying mechanical proof tools such as TLAPS, with associated experience of finding inductive invariants for concurrent algorithms.
  • Excellent at collaborating with software engineers to help verify correctness of their work. This requires strong interpersonal and communication skills.
  • Good at communicating complex technical ideas verbally and in writing, to engineers, managers, and executives.

Additional abilities that are highly valued
  • Strong knowledge of database programming models (SQL and NoSQL), and database internals.
  • Experience working with geographically distributed teams via Slack and online meetings.
  • Knowledge of Computer Networking (OSI layers, HTTP, DNS, TCP/IP, DHCP, Routers, Gateways, Subnets, etc.)
  • Knowledge of Linux internals and troubleshooting skills
  • Knowledge of compute virtualization technologies (hypervisors, QEMU, containers, etc.)


Qualifications

US: Hiring Range in USD from: $135,200 to $306,400 per annum. May be eligible for bonus, equity, and compensation deferral.

Oracle maintains broad salary ranges for its roles in order to account for variations in knowledge, skills, experience, market conditions and locations, as well as reflect Oracle's differing products, industries and lines of business.
Candidates are typically placed into the range based on the preceding factors as well as internal peer equity.

Oracle US offers a comprehensive benefits package which includes the following:
1. Medical, dental, and vision insurance, including expert medical opinion
2. Short term disability and long term disability
3. Life insurance and AD&D
4. Supplemental life insurance (Employee/Spouse/Child)
5. Health care and dependent care Flexible Spending Accounts
6. Pre-tax commuter and parking benefits
7. 401(k) Savings and Investment Plan with company match
8. Paid time off: Flexible Vacation is provided to all eligible employees assigned to a salaried (non-overtime eligible) position. Accrued Vacation is provided to all other employees eligible for vacation benefits. For employees working at least 35 hours per week, the vacation accrual rate is 13 days annually for the first three years of employment and 18 days annually for subsequent years of employment. Vacation accrual is prorated for employees working between 20 and 34 hours per week. Employees working fewer than 20 hours per week are not eligible for vacation.
9. 11 paid holidays
10. Paid sick leave: 72 hours of paid sick leave upon date of hire. Refreshes each calendar year. Unused balance will carry over each year up to a maximum cap of 112 hours.
11. Paid parental leave
12. Adoption assistance
13. Employee Stock Purchase Plan
14. Financial planning and group legal
15. Voluntary benefits including auto, homeowner and pet insurance

The role will generally accept applications for at least three calendar days from the posting date or as long as the job remains posted.
Career Level - IC5

About Oracle Corporation

Oracle Dyn Global Business Unit is a pioneer in managed DNS and a leader in cloud-based infrastructure that connects users with digital content and experiences across a global internet. Dyn's solution is powered by a global network that drives 40 billion traffic optimization decisions daily for more than 3,500 enterprise customers, including preeminent digital brands such as Netflix, Twitter, Linkedin and CNBC. Adding Dyn's best-in-class DNS and email services extend the Oracle cloud computing platform and provides enterprise customers with a one-stop shop for Infrastructure-as-a-Service (IaaS) and Platform-as-a-Service (PaaS). On January 31, 2017 Oracle completed the acquisition of Dyn, which now operates as an Oracle Infrastructure-as-a-Service (IaaS) global business unit (GBU).

Oracle Corporation Careers

Join Oracle Corporation, a global leader in technology and innovation, and be part of a team that values professional growth, leadership, and diversity. At Oracle, we offer unparalleled job opportunities in the tech industry, fostering a culture of innovation and continuous improvement.

Work You’ll Do

At Oracle, your work will directly impact the future of technology across industries. As part of our team, you will lead projects that redefine the way businesses operate, leveraging Oracle’s cutting-edge technology solutions. Our commitment to leadership in the tech community means you’ll be working at the forefront of innovation, enhancing your skills through hands-on experience and comprehensive diversity training.

Join Our Dynamic Team

Oracle is not just a technology company; we are a team of dedicated professionals committed to creating a supportive and inclusive environment. Here, every team member’s contribution is valued, and diversity is celebrated. With Oracle, you are not just accepting a job; you are joining a community that promotes personal and professional growth through constant learning and development opportunities.

Innovative Work and Career Advancement

Embrace the chance to do innovative work with Oracle Corporation, where we push the boundaries of what is possible. With over 130,000 dedicated professionals globally, Oracle offers a workplace where innovation and thought leadership thrive. This environment is perfect for those who are driven to explore new ideas and are eager for opportunities to advance their careers.

Explore Job Opportunities and Internships

Whether you’re a seasoned professional looking for your next career challenge or a student seeking a promising internship, Oracle provides a range of opportunities. Explore positions that match your skills and interests in areas such as cloud computing, enterprise software, and business analytics. Our hiring process is designed to find not just the right skills but also the right fit for Oracle’s unique culture.

Benefits and Culture

Oracle is committed to supporting our employees’ life and work ambitions. We offer competitive benefits, including health insurance, retirement plans, and wellness programs, all designed to support your career and well-being. Our culture of empowerment encourages networking and collaboration across teams and geographies, ensuring that innovation and creativity flourish.

Develop Your Skills Through Training and Networking

Prepare for your future with Oracle’s comprehensive training programs. From leadership development to technical skills enhancement, we provide the tools necessary to succeed in your career and stay ahead in the industry. Networking within Oracle’s global community will also open doors to collaborative opportunities and career advancement.

Stay Connected with Oracle Careers

Keep up to date with the latest from Oracle Corporation by following our careers blog. Gain insights from the experts and learn about new job openings as they become available. Personalize your job search and stay informed about Oracle’s career events and professional development opportunities.

Join Oracle Corporation—Where Careers Grow

At Oracle, we believe in nurturing the potential of our employees. The growth of our company is driven by the individual successes of our team members. We invite you to bring your unique talents to Oracle, join our mission to drive technological innovation, and help shape the future of the digital world.

Search Oracle Jobs

Ready to take the next step in your career? Search for open positions that align with your skills and passions. We are continuously looking for curious, creative, and motivated individuals to join our team. Explore the opportunities and find out how you can contribute to the success of Oracle Corporation.

Oracle Corporation: Leadership, Innovation, Opportunity.

Learn more about Oracle Corporation
Size
143,000 employees
Market Cap
$217.3 billion
Industry
Net Income
$12.8 billion
Founded
1977
5 Year Trend
+2.3%
Revenue
$39.6 billion
NASDAQ

Similar Jobs

More Jobs at Oracle Corporation

More Information Technology Jobs

Find similar Senior Principal Software Engineer jobs: