Expoint - all jobs in one place

The point where experts and best companies meet

Limitless High-tech career opportunities - Expoint

Microsoft Software Engineer - Azure Core Storage 
Australia, New South Wales, Sydney 
729038443

17.07.2024

The Azure Core Storage team is responsible for delivering the Storage Virtualization platform to Azure Virtual Machines (VMs). Our stack handles trillions of Internal Orders (IOs) every day from Azure VMs and runs in 100s of datacenters and 1000+ Clusters. We own the whole software stack on Azure Host responsible for handling VM IOs, various caches, Throttles, Quality Of Services (QoS) for Azure VMs, various transports layers, encryption of data in transit and at rest.


As a Software Engineer on our team, you will design and implement software components to enable and optimize the storage solutions in Azure fleet. The software components you deliver include device drivers and system software, installation and diagnostic tools, libraries, telemetry services and comprehensive testing. You will get a chance to collaborate with developers across Microsoft, and Software & hardware partners to deliver innovative technology. In this role, you will have opportunities to solve challenging problems and exercise your soft skills to impact the billions of users in the Azure ecosystem.

Required Qualifications:

  • Bachelor's Degree in Computer Science, or related technical discipline with proven experience coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python
    • OR equivalent experience.
  • Experience in design, development, debugging, testing and problem-solving.
  • Ability to handle periodic live service on-call responsibilities.

Other Qualifications:

  • Ability to meet Microsoft, customer and/or government security screening requirements are required for this role. These requirements include, but are not limited to the following specialized security screenings:
    • Microsoft Cloud Background Check: This position will be required to pass the Microsoft Cloud Background Check upon hire/transfer and every two years thereafter.

Preferred Qualifications:

  • Bachelor's Degree in Computer Science or related technical field AND 1+ year(s) technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python
    • OR Master's Degree in Computer Science or related technical field with proven experience coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python
    • OR equivalent experience.
  • Experience in system software, storage protocols, networking concepts and operating system internals e.g., memory management, scheduling, interrupts, threading, etc.
  • Experience in the design, implementation, debugging and testing of operating system drivers (kernel mode and user mode). Windows Driver and Kernel component development.
  • A track record of solid results across multiple ship cycles.
Responsibilities
  • Design and develop system software that manages storage services in Azure.
  • System design through well-defined interfaces across multiple components, code reviews, leveraging data/telemetry to make decisions.
  • Ensure that services and components are well-defined and modularized, secure, reliable, diagnosable, actively monitored, and reusable.
  • Consider testability, portability/monitoring, reliability, and maintainability, and understand when code is ready to be shared and delivered. Rapidly deploy cloud scale solutions and monitor health through telemetry.
  • Drive for quality in everything you do and continuously improve the quality of the systems on which you work.
  • Acts as a Designated Responsible Individual (DRI) and guides other engineers by developing and following the playbook, working on call to monitor system/product/service for degradation, downtime, or interruptions, alerting stakeholders about status and initiates actions to restore system/product/service for simple and complex problems when appropriate.
  • Remains current in skills by investing time and effort into staying abreast of current developments that will improve the availability, reliability, efficiency, observability, and performance of products while also driving consistency in monitoring and operations at scale.