Expoint - all jobs in one place

Finding the best job has never been easier

Limitless High-tech career opportunities - Expoint

Microsoft Senior Software Engineer – Azure Storage Files 
India, Karnataka, Bengaluru 
72676163

16.07.2024


Azure Files is the foundational file system and file sharing service built in Azure Storage, supporting industry-standard Server Message Block (SMB), Common Internet File System (CIFS), Network File System (NFS) and Representational State Transfer (REST) protocols, that is fully compatible with on-premises file servers, both Windows and Linux-based, can scale up to exabytes of storage, and provide world-class reliability, performance, and security. For more details see

As a Senior Software Engineer in the Azure Files Storage team, you will develop features at the core storage and the protocol layers of the service, including architectural changes to significantly increase scalability and performance of the file system, including adding Backup, Disaster Recovery and Tiering capabilities. You will have the opportunity to explore distributed system design, protocols such as SMB/CIFS, NFS, and REST, and help solve the performance and scale requirements of the most demanding workloads, used by many large-scale organizations and services. You will have the opportunity to make high-impact changes daily as you build a hyper-scale file storage system that powers the world.

Required Qualifications:

  • Bachelor's Degree in Computer Science or related technical field AND 6+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, or Java.
    • OR equivalent experience.
  • Windows or Linux operating system knowledge with experience in development, debugging, monitoring, and troubleshooting utilizing concepts of multi-threading, asynchronous patterns, and locks to synchronize access to state.
  • Experience building scalable system software and/or services.

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 8+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, or Java.
    • OR Master's Degree in Computer Science or related technical field AND 6+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, or Java,
    • OR equivalent experience.
  • Experience with
    • native code (C, C++) development, debugging, monitoring, and troubleshooting is a strong plus
    • AND development of cloud services and distributed systems is a plus
    • AND debugging tools like WinDBG, Wireshark etc.
  • Windows or Linux operating system knowledge, storage and file systems experience, knowledge of REST protocol, network file sharing protocols like SMB/CIFS and/or NFS..
Responsibilities
  • Collaborates with appropriate stakeholders to determine user requirements for a scenario.
  • Drives identification of dependencies and the development of design documents for a product, application, service, or platform.
  • Creates, implements, optimizes, debugs, refactors, and reuses code to establish and improve performance and maintainability, effectiveness, and return on investment (ROI).
  • 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.
  • 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.
  • Proactively seeks new knowledge and adapts to new trends, technical solutions, and patterns that will improve the availability, reliability, efficiency, observability, and performance of products while also driving consistency in monitoring and operations at scale.
  • Collaborates with a diverse group of engineers, across all levels, through sharing and learning.