Design, develop, troubleshoot and debug software programs for databases, applications, tools, networks etc. Oracle Cloud Infrastructure is building the next generation of cloud. Our team is delivering mission-critical infrastructure services that power innovation across industries. OCI’s SDK team plays a pivotal role in enabling customers to build, automate, and integrate using powerful, consistent APIs across programming languages. We are looking for a passionate and driven Software Developer (IC3) to join our OCI SDK team. You will work with a dynamic group of engineers responsible for designing, developing, and maintaining software development kits (SDKs) and command-line interfaces (CLIs) that make OCI accessible to developers and enterprise customers worldwide. This is a hands-on engineering role where you will contribute to multi-language SDKs (Java, Python, Go, TypeScript, .NET, etc.), collaborate with service teams, and ensure our tools are robust, secure, and easy to use.
Internal Responsibilities
Key Responsibilities
Platform Software Development:
Own a bounded platform component (service module, SDK area) and evolve its contracts for multi-tenant use.
Perform deep debugging across a limited-service graph; drive compatibility-safe remediation plans.
Implement targeted resilience/capacity patterns and document adoption guidance for team consumers.
Software Development and Coding - Design, Testing, and Optimization:
Designs software solutions and analyzes and helps identify requirements to achieve business and operational goals, independently.
Adheres to and suggests improvements to all phases of the software development lifecycle.
Utilizes working knowledge to develop new software features and enhancements following design specifications and develops documents to clarify software design and code.
Leads code reviews in designated areas to help drive improvements.
Conducts debugging and troubleshooting to identify and fix moderately complex software issues. Develops fixes for identified issues.
Implements software testing (e.g., functional and non-functional testing), quality assurance processes, software error logging, monitoring, and observability for effective debugging, ensuring review by manager and/or lead throughout the process.
Exercises judgment and discretion to conduct performance profiling and optimization of coding.
Troubleshoots and resolves moderately complex issues related to application programming interface (API) functionality and integration.
Implements moderately complex API versioning, lifecycle, and interoperability strategies.
Software Architecture - Software System Structural Design:
Designs and develops software, systems, and services aligned to pre-defined system architecture.
Develops working knowledge of software architecture decisions and best practices.
Collaborates with team leads to review work to ensure alignment with software architecture.
Implements moderately complex performance optimization and scalability strategies in software design.
Issue/Defect Collaboration - Software Products Support:
Collaborates within and beyond immediate team to understand customer issues and align solutions.
May provide technical guidance and support to customers regarding customer-reported issues, independently.
Coaches, mentors, and guides others to advocate for customers' interests and suggests product enhancements based on feedback.
Influences team to ensure customer satisfaction through timely resolution of issues and effective communication.
Implements customer issue and/or defect handling and training processes, independently.
Investigates and troubleshoots complex product maintenance issues to ensure customer agreement on short- and long-term solutions (e.g., future enhancements).
Practices and Standards Compliance - Security and Compliance:
Collaborates with the team to establish and follow development practices and coding standards.
Exercises judgment and discretion to ensure code quality and adherence to broad acceptance criteria during development.
Keeps up to date with industry best practices and applies them to software development processes.
Implements secure coding practices to prevent security vulnerabilities.
Development Operations - System Maintenance:
Performs periodic maintenance and testing operations for systems that require upgrading or patching (e.g., for critical vulnerabilities).
Exercises judgment and discretion to drive improvements, ensure automation, testing, and debugging of systems to ensure service/product availability, health, support, and reliability.
Preferred Qualifications:
3–6 years of experience in software development, with a strong focus on SDKs, APIs, developer tools, or libraries.
Proficiency in 1-2 programming language (Java, Python, Go, JavaScript/TypeScript, or .NET).
Solid understanding of RESTful API design and API client patterns.
Experience with cloud infrastructure, developer workflows, or CI/CD pipelines is a plus.
Familiarity with SDK automation, code generation tools, or OpenAPI is highly desirable.
Excellent communication, collaboration, and problem-solving skills.
Passion for developer experience and open-source contributions.
External Responsibilities
Key Responsibilities
Platform Software Development:
Own a bounded platform component (service module, SDK area) and evolve its contracts for multi-tenant use.
Perform deep debugging across a limited-service graph; drive compatibility-safe remediation plans.
Implement targeted resilience/capacity patterns and document adoption guidance for team consumers.
Software Development and Coding - Design, Testing, and Optimization:
Designs software solutions and analyzes and helps identify requirements to achieve business and operational goals, independently.
Adheres to and suggests improvements to all phases of the software development lifecycle.
Utilizes working knowledge to develop new software features and enhancements following design specifications and develops documents to clarify software design and code.
Leads code reviews in designated areas to help drive improvements.
Conducts debugging and troubleshooting to identify and fix moderately complex software issues. Develops fixes for identified issues.
Implements software testing (e.g., functional and non-functional testing), quality assurance processes, software error logging, monitoring, and observability for effective debugging, ensuring review by manager and/or lead throughout the process.
Exercises judgment and discretion to conduct performance profiling and optimization of coding.
Troubleshoots and resolves moderately complex issues related to application programming interface (API) functionality and integration.
Implements moderately complex API versioning, lifecycle, and interoperability strategies.
Software Architecture - Software System Structural Design:
Designs and develops software, systems, and services aligned to pre-defined system architecture.
Develops working knowledge of software architecture decisions and best practices.
Collaborates with team leads to review work to ensure alignment with software architecture.
Implements moderately complex performance optimization and scalability strategies in software design.
Issue/Defect Collaboration - Software Products Support:
Collaborates within and beyond immediate team to understand customer issues and align solutions.
May provide technical guidance and support to customers regarding customer-reported issues, independently.
Coaches, mentors, and guides others to advocate for customers' interests and suggests product enhancements based on feedback.
Influences team to ensure customer satisfaction through timely resolution of issues and effective communication.
Implements customer issue and/or defect handling and training processes, independently.
Investigates and troubleshoots complex product maintenance issues to ensure customer agreement on short- and long-term solutions (e.g., future enhancements).
Practices and Standards Compliance - Security and Compliance:
Collaborates with the team to establish and follow development practices and coding standards.
Exercises judgment and discretion to ensure code quality and adherence to broad acceptance criteria during development.
Keeps up to date with industry best practices and applies them to software development processes.
Implements secure coding practices to prevent security vulnerabilities.
Development Operations - System Maintenance:
Performs periodic maintenance and testing operations for systems that require upgrading or patching (e.g., for critical vulnerabilities).
Exercises judgment and discretion to drive improvements, ensure automation, testing, and debugging of systems to ensure service/product availability, health, support, and reliability.
Preferred Qualifications:
3–6 years of experience in software development, with a strong focus on SDKs, APIs, developer tools, or libraries.
Proficiency in 1-2 programming language (Java, Python, Go, JavaScript/TypeScript, or .NET).
Solid understanding of RESTful API design and API client patterns.
Experience with cloud infrastructure, developer workflows, or CI/CD pipelines is a plus.
Familiarity with SDK automation, code generation tools, or OpenAPI is highly desirable.
Excellent communication, collaboration, and problem-solving skills.
Passion for developer experience and open-source contributions.