Senor Software Engineer, Core Infrastructure
Oracle
About the Role
Oracle brings together data, infrastructure, applications, and expertise to power industry innovations and life-saving care. With AI embedded across products and services, Oracle helps customers create a better future for all. Discover your potential at a company leading the way in AI and cloud solutions that impact billions of lives. True innovation starts when everyone is empowered to contribute.
Key Responsibilities
- System Design & Architecture - System Scalability:
- Design, implement, and optimize components in distributed systems with an emphasis on scalability, resiliency, and operability.
- Implement and contribute to the development for components of distributed systems that support horizontal and vertical scaling, including leveraging distributed state management tools.
- Optimize code and/or systems for large-scale data processing in large-scale systems.
- Implement scalability requirements for assigned components and review implementation of team members.
- Leverage components of data plane platforms to handle large-scale data retrieval, storage, and processing.
- Implement performance and load testing.
- System Design & Architecture - System Reliability Design:
- Build fault-tolerant paths (redundancy, replication, automatic failover).
- Collaborate with the team to build fault-tolerant components capable of withstanding in-service updates by implementing redundancy, replication, and automatic failover mechanisms.
- Apply recovery-oriented principles to design components that effectively handle service disruptions.
- Implement retries, circuit breakers, and timeouts to help handle network unreliability.
- System Design & Architecture - System Reliability Performance:
- Implement tests and alarm configurations to proactively detect and address issues/failures.
- Support efforts to recover from failures by drafting and executing runbooks and operational procedures.
- Build and customize dashboards, telemetry systems, and alerting mechanisms to monitor component health.
- System Design & Architecture - Correctness / Availability:
- Design and implement functional requirements and testing for assigned features within an existing system.
- Implement tests scenarios (e.g., fault-injection, brown-out) to evaluate system correctness.
- Implement standard data replication and synchronization techniques to maintain data integrity and availability.
- Operational Troubleshooting & Incident Management:
- Diagnose, debug, and resolve issues in system components to support ongoing operation.
- Implement basic strategies to prevent interruptions, ensuring no maintenance windows are required for customers and users when resolving issues.
- Design and implement automation scripts and tooling used to troubleshoot operational issues.
- Participate in operational support rotations, assisting in incident responses and root cause investigations (RCAs).
- Author runbooks.
- Automation & Change Management:
- Develop automation/IaC for troubleshooting and maintenance.
- Maintain automation scripts and tools (e.g., Infrastructure as Code (IaC)) for managing cloud infrastructure.
- Adhere to change management plans for patching, updating, and rolling back applications.
- Compliance & Security:
- Apply advanced security controls (encryption, access, remediation) while ensuring change, compliance, and documentation standards are met.
- Apply advanced security measures to protect data and applications in multi-tenant environments, including encryption and access controls.
- Implement remediation plans to continuously improve security.
- Collaborate with the team to ensure cloud infrastructure complies with relevant industry standards and regulations and that documentation is up-to-date.
- Planning & Execution:
- Track timelines with minimal supervision, ensuring work is completed in a timely manner and is in alignment with project requirements.
- Prioritize and adjust work as resources or timelines change, with some guidance.
- Collaboration & Partnership:
- Collaborate across teams to align on expectations and achieve shared objectives.
- Build and maintain a comprehensive understanding of business, stakeholder, and/or customer needs to build and support effective partnerships.
- Actively listen to diverse perspectives and ask questions to ensure understanding of others.
- Problem Solving:
- Independently identify and address standard and non-standard issues in accordance with standard practices, escalating more complex issues as appropriate.
- Analyze data and/or information from multiple sources to troubleshoot standard and non-standard errors.
- Contribute to knowledge sharing and best practices.
- Continuous Learning:
- Embrace continuous learning by actively seeking to build knowledge and new skills and/or tools, and staying current with industry trends and best practices.
- Seek out and leverage feedback and training to improve skills.
- Contribute to a culture of continuous learning and knowledge sharing with team members.
- Continuous Improvement:
- Develop ideas and recommend updates to increase the efficiency and effectiveness of processes, protocols, and workflows within a team.
- Seek input from team members on alternative approaches and methods for improving work.
Requirements & Tech Stack
- Distributed systems
- Scalability
- Resiliency
- Operability
- Data plane platforms
- Distributed state tools
- Fault-tolerant paths
- Recovery-oriented principles
- Retries
- Circuit breakers
- Timeouts
- Tests
- Alarms
- Dashboards
- Telemetry
- Runbooks
- Incident response
- RCAs (Root Cause Analyses)
- Replication
- Synchronization
- Automation
- Infrastructure as Code (IaC)
- Advanced security controls (encryption, access, remediation)
- Change management
- Compliance
- Documentation
Qualifications
- Possess the ability to track timelines with minimal supervision.
- Ability to prioritize and adjust work as resources or timelines change, with some guidance.
- Ability to collaborate across teams to align on expectations and achieve shared objectives.
- Ability to build and maintain a comprehensive understanding of business, stakeholder, and/or customer needs.
- Ability to actively listen to diverse perspectives and ask questions to ensure understanding of others.
- Ability to independently identify and address standard and non-standard issues in accordance with standard practices, escalating more complex issues as appropriate.
- Ability to analyze data and/or information from multiple sources to troubleshoot standard and non-standard errors.
- Ability to contribute to knowledge sharing and best practices.
- Ability to actively seek to build knowledge and new skills and/or tools.
- Ability to stay current with industry trends and best practices.
- Ability to seek out and leverage feedback and training to improve skills.
- Ability to contribute to a culture of continuous learning and knowledge sharing with team members.
- Ability to develop ideas and recommend updates to increase the efficiency and effectiveness of processes, protocols, and workflows.
- Ability to seek input from team members on alternative approaches and methods for improving work.