As a member of OCI Virtual Machine Infrastructure team, you will apply intermediate knowledge of software architecture to perform software development tasks associated with developing, debugging or designing software applications in the cloud world to manage including monitor and repair our hypervisor fleet, and ensure the fleet health by deep data analysis. Build improvements within an existing software architecture and occasionally suggest improvements to the architecture. Duties and tasks are standard with some variation; displays understanding of roles, processes and procedures. Performs moderately complex problem solving with assistance and guidance in understanding and applying company policies and processes.
We are looking for hands-on engineers with expertise and passion in solving difficult problems in all areas of software engineering: distributed systems, system health monitoring and reporting, system auto recovery and failover.
This is a great opportunity for senior software engineer to explore the endless opportunities in a cloud world, specifically in virtual machine infrastructure working with all partner teams to design and deliver new cloud centric applications from the ground up. An engineer at any level can have significant technical and business impact here. You will be part of a team of smart, motivated, diverse people, and given the autonomy as well as support to do your best work. It is a dynamic and flexible workplace where you’ll belong and be encouraged.
Who are we looking for?
We're seeking for full-stack engineers with distributed systems experience to design and implement our next-gen hypervisor and VM fleet failure detection and auto repair systems. You should be technically strong and excel in debugging and data analysis – you’ve worked on highly available, scalable, and redundant services. You’ve built rich tools and developed features for use by your team and other internal/external customers. Having experience with one of major cloud services like OCI, AWS or Azure is a big plus. You should have logic thinking and good communication. You can balance speed and quality with iteration and incremental improvements. You’ve made life easier for other developers and have motivated your teams to make both process and service improvements with your ability to automate and instrument properly to get the right data. You understand operational excellence and how to instill a culture of being dedicated with your teammates.