As OCI customers increasingly adopt micro services and event driven architectures, efficient and reliable message brokering systems become more crucial than ever. Kafka, the leading message broker of choice in the industry caters to a vast set of use cases, and is at the heart of this architecture. OCI is expanding the newly released service built around Apache Kafka and we are excited to offer unique opportunities to contribute, grow and learn at multiple levels . Career Level - IC4 Principal Platform Software Engineer.
Lead platform projects crossing multiple teams, evolving runtimes or middleware patterns for interoperability and multi-tenant scale. Diagnose and resolve complex cross-service issues; enforce versioning, compatibility, and safe rollout practices. Drive observability standards, capacity planning, and resilience patterns across several workloads. Produce migration guides and adoption playbooks that raise ecosystem consistency and developer experience.
Internal Responsibilities
Key Responsibilities
Platform Software Development:
Lead cross-team evolution of middleware patterns or runtimes to standardize interoperability at scale.
Define and enforce versioning, deprecation, and rollout strategies that minimize downstream breaks.
Drive shared observability baselines (SLOs, error budgets) and resilience patterns across several services.
Software Development and Coding - Design, Testing, and Optimization:
Designs software solutions and analyzes and identifies requirements to achieve business and operational goals, sharing results with manager upon completion.
Adheres to and improves execution of all phases of the software development lifecycle; provides guidance and coaching to engineers to drive improvements.
Utilizes advanced knowledge to develop and guide new software features and enhancements leading design specifications, ensuring accessibility, and develops documents to clarify software design and code.
Leads code reviews in multiple areas to help drive improvements.
Conducts debugging and troubleshooting to identify and fix complex software issues.
Develops fixes for identified issues.
Implements comprehensive software testing (e.g., functional and non-functional testing), quality assurance processes, software error logging, monitoring, and observability for effective debugging, sharing work with manager and/or lead upon completion.
Conducts performance profiling and optimization of coding, building scalable solutions, and anticipating and resolving potential outcomes.
Troubleshoots and resolves complex issues related to application programming interface (API) functionality and integration.
Implements complex API versioning, lifecycle, and interoperability strategies.
Software Architecture - Software System Structural Design:
Implements and contributes to developing software, systems, and services, ensuring review by manager and/or senior technical leaders upon completion. Recommends project or design scope.
Provides technical guidance and coaching to less experienced developers in existing software architecture.
Contributes to periodic reviews and ensures adherence to architectural standards.
Collaborates with stakeholders and networks externally to ensure work aligns with software architecture.
Implements complex performance optimization and scalability strategies in software design.
Occasionally conducts technology research and evaluation for potential architectural changes that may have an impact on results for the team.
Issue/Defect Collaboration - Software Products Support:
Collaborates with stakeholders to understand customer issues and align solutions.
May provide advanced technical guidance and support to customers regarding customer-reported issues.
Advocates for customers' interests and suggests product enhancements based on feedback.
Provides input to ensure customer satisfaction through timely resolution of issues and effective communication.
Identifies and implements customer issue and/or defect handling and training processes.
Investigates and troubleshoots complex and broad-reaching/scoped 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 and externally to follow development practices and coding standards, providing coaching to less experienced team members.
Participates in peer review processes, provides technical leadership, and ensures code quality and adherence to broad acceptance criteria during development, independently.
Demonstrates and shares advanced knowledge of industry best practices and applies them to software development processes.
Implements complex 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), sharing results with manager upon completion.
Drives improvements, ensures automation, testing, and debugging of systems to ensure service/product availability, health, support, and reliability.
Core Responsibilities
Planning & Execution:
Manages and coordinates moderately complex tasks, monitoring timelines and deliverables to ensure timely completion and adherence to requirements for a moderately sized project or initiative. Efficiently delegates, monitors, and prioritizes work across multiple projects, providing technical oversight and adjusting plans to address shifts in resources or timelines.
Collaboration & Partnership:
Collaborates across the organization to align on expectations and achieve shared objectives. Leverages understanding of business leaders, stakeholders, and/or customers to ensure proposed solutions meet their needs. Supports inclusivity by actively seeking and listening to diverse perspectives, ensuring others feel heard and respected.
Problem Solving:
Identifies and addresses moderately complex issues by analyzing a wide range of data and/or information to identify solutions in accordance with standard practices. Proactively escalates unresolved or critical issues with a thorough assessment and suggests potential solutions. Reviews, contributes to, and documents problem solving strategies.
Continuous Learning:
Pursues learning opportunities to expand knowledge and skills and/or tools in new areas and stays abreast of the latest industry trends and best practices. Proactively seeks and leverages ongoing feedback and training to improve skills. Coaches and mentors junior team members, fostering continuous learning and knowledge sharing within and across teams.
Continuous Improvement:
Develops ideas, recommends updates, and/or collaborates on the implementation of process improvements to increase the efficiency and effectiveness of processes, protocols, and workflows across teams, and evaluates the impact on key stakeholders. Solicits feedback from others on ideas for alternative approaches and methods for continued improvement.
Performance and Development:
Minimum Qualifications:
• Bachelors degree in Computer Science, or equivalent experience
• 5+ years of experience shipping services software
• Strong knowledge of data structures, algorithms, operating systems, and distributed systems fundamentals Working familiarity with networking protocols (TCP/IP, HTTP) and standard network architectures
• Knowledge of Internet protocols and standards - REST, SSL and HTTP
• Strong understanding of databases, NoSQL systems, storage and distributed persistence technologies
• Strong troubleshooting and performance tuning skills.
Additional Preferred Qualifications:
• Strong understanding of event streaming platforms like Apache Kafka
• Strong grasp of Kubernetes
• Experience in a start-up environment
• Experience delivering and operating large scale, highly available distributed systems
• Strong grasp of Unix-like operating systems
• Experience building multi-tenant, virtualized infrastructure a strong plus
• Design, develop, troubleshoot and debug software programs for databases, applications, tools, networks etc.
External Responsibilities
Key Responsibilities
Platform Software Development:
Lead cross-team evolution of middleware patterns or runtimes to standardize interoperability at scale.
Define and enforce versioning, deprecation, and rollout strategies that minimize downstream breaks.
Drive shared observability baselines (SLOs, error budgets) and resilience patterns across several services.
Software Development and Coding - Design, Testing, and Optimization:
Designs software solutions and analyzes and identifies requirements to achieve business and operational goals, sharing results with manager upon completion.
Adheres to and improves execution of all phases of the software development lifecycle; provides guidance and coaching to engineers to drive improvements.
Utilizes advanced knowledge to develop and guide new software features and enhancements leading design specifications, ensuring accessibility, and develops documents to clarify software design and code.
Leads code reviews in multiple areas to help drive improvements.
Conducts debugging and troubleshooting to identify and fix complex software issues.
Develops fixes for identified issues.
Implements comprehensive software testing (e.g., functional and non-functional testing), quality assurance processes, software error logging, monitoring, and observability for effective debugging, sharing work with manager and/or lead upon completion.
Conducts performance profiling and optimization of coding, building scalable solutions, and anticipating and resolving potential outcomes.
Troubleshoots and resolves complex issues related to application programming interface (API) functionality and integration.
Implements complex API versioning, lifecycle, and interoperability strategies.
Software Architecture - Software System Structural Design:
Implements and contributes to developing software, systems, and services, ensuring review by manager and/or senior technical leaders upon completion. Recommends project or design scope.
Provides technical guidance and coaching to less experienced developers in existing software architecture.
Contributes to periodic reviews and ensures adherence to architectural standards.
Collaborates with stakeholders and networks externally to ensure work aligns with software architecture.
Implements complex performance optimization and scalability strategies in software design.
Occasionally conducts technology research and evaluation for potential architectural changes that may have an impact on results for the team.
Issue/Defect Collaboration - Software Products Support:
Collaborates with stakeholders to understand customer issues and align solutions.
May provide advanced technical guidance and support to customers regarding customer-reported issues.
Advocates for customers' interests and suggests product enhancements based on feedback.
Provides input to ensure customer satisfaction through timely resolution of issues and effective communication.
Identifies and implements customer issue and/or defect handling and training processes.
Investigates and troubleshoots complex and broad-reaching/scoped 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 and externally to follow development practices and coding standards, providing coaching to less experienced team members.
Participates in peer review processes, provides technical leadership, and ensures code quality and adherence to broad acceptance criteria during development, independently.
Demonstrates and shares advanced knowledge of industry best practices and applies them to software development processes.
Implements complex 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), sharing results with manager upon completion.
Drives improvements, ensures automation, testing, and debugging of systems to ensure service/product availability, health, support, and reliability.
Core Responsibilities
Planning & Execution:
Manages and coordinates moderately complex tasks, monitoring timelines and deliverables to ensure timely completion and adherence to requirements for a moderately sized project or initiative. Efficiently delegates, monitors, and prioritizes work across multiple projects, providing technical oversight and adjusting plans to address shifts in resources or timelines.
Collaboration & Partnership:
Collaborates across the organization to align on expectations and achieve shared objectives. Leverages understanding of business leaders, stakeholders, and/or customers to ensure proposed solutions meet their needs. Supports inclusivity by actively seeking and listening to diverse perspectives, ensuring others feel heard and respected.
Problem Solving:
Identifies and addresses moderately complex issues by analyzing a wide range of data and/or information to identify solutions in accordance with standard practices. Proactively escalates unresolved or critical issues with a thorough assessment and suggests potential solutions. Reviews, contributes to, and documents problem solving strategies.
Continuous Learning:
Pursues learning opportunities to expand knowledge and skills and/or tools in new areas and stays abreast of the latest industry trends and best practices. Proactively seeks and leverages ongoing feedback and training to improve skills. Coaches and mentors junior team members, fostering continuous learning and knowledge sharing within and across teams.
Continuous Improvement:
Develops ideas, recommends updates, and/or collaborates on the implementation of process improvements to increase the efficiency and effectiveness of processes, protocols, and workflows across teams, and evaluates the impact on key stakeholders. Solicits feedback from others on ideas for alternative approaches and methods for continued improvement.
Performance and Development:
Minimum Qualifications:
• Bachelors degree in Computer Science, or equivalent experience
• 5+ years of experience shipping services software
• Strong knowledge of data structures, algorithms, operating systems, and distributed systems fundamentals Working familiarity with networking protocols (TCP/IP, HTTP) and standard network architectures
• Knowledge of Internet protocols and standards - REST, SSL and HTTP
• Strong understanding of databases, NoSQL systems, storage and distributed persistence technologies
• Strong troubleshooting and performance tuning skills.
Additional Preferred Qualifications:
• Strong understanding of event streaming platforms like Apache Kafka
• Strong grasp of Kubernetes
• Experience in a start-up environment
• Experience delivering and operating large scale, highly available distributed systems
• Strong grasp of Unix-like operating systems
• Experience building multi-tenant, virtualized infrastructure a strong plus
• Design, develop, troubleshoot and debug software programs for databases, applications, tools, networks etc.