Senior Software Engineer

Microsoft Microsoft · Big Tech · Australia · Software Engineering

Senior Software Engineer role in Azure Storage focusing on the technical direction and delivery of features for a highly distributed storage system. Responsibilities include defining technical direction, delivering improvements and features, working with server technologies, and ensuring reliability, scalability, performance, consistency, and debuggability. The role involves collaborating with stakeholders, driving design documents, creating and optimizing code, acting as a Designated Responsible Individual (DRI), and monitoring system performance. Requires a Bachelor's Degree in Computer Science or related field with 4+ years of experience in coding and 2+ years in file storage or distributed systems.

What you'd actually do

  1. Collaborates with appropriate stakeholders to determine user requirements for a scenario.
  2. Drives identification of dependencies and the development of design documents for a product, application, service, or platform.
  3. Creates, implements, optimizes, debugs, refactors, and reuses code to establish and improve performance and maintainability, effectiveness, and return on investment (ROI).
  4. Leverages subject-matter expertise of product features and partners with appropriate stakeholders (e.g., project managers) to drive a workgroup's project plans, release plans, and work items.
  5. 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.

Skills

Required

  • C
  • C++
  • C#
  • Java
  • JavaScript
  • Python
  • file storage
  • distributed systems

Nice to have

  • hardware background

What the JD emphasized

  • technical direction of the most complex pieces of Azure Storage
  • pathbreaking features
  • latest server technologies
  • highly distributed systems
  • reliability
  • scalability
  • performance
  • consistency
  • debuggability
  • monitoring and operations at scale