Senior Software Engineer
Microsoft
Senior Software Engineer
Bangalore, Karnataka, India
Save
Overview
Microsoft Azure Storage is a highly distributed, massively scalable, and ubiquitously accessible cloud storage platform. Azure storage already runs at Exascale (storing Exabytes of data) and we will scale our designs over the next decade to support Zetta scale (storing Zettabytes of data). Within Azure Storage, the xDPU team is focused in bringing up the storage stack on DPU (Data Processing Units) based nodes to provide unmatched performance at lowest cost. We are looking for an experienced engineer to join us in the mission of developing and deploying DPU based storage.
As a Senior Software Engineer in Azure Storage, you will design, implement, optimize, and maintain the Azure Storage Stack running on DPU nodes. You will be involved in all phases of the storage lifecycle, design, implementation, test, deployment, and support. This opportunity will allow you to accelerate your career growth, hone your technical leadership skills, and develop deep business acumen.
Microsoft’s mission is to empower every person and every organization on the planet to achieve more. As employees we come together with a growth mindset, innovate to empower others, and collaborate to realize our shared goals. Each day we build on our values of respect, integrity, and accountability to create a culture of inclusion where everyone can thrive at work and beyond.
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++ or equivalent experience 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++, or Python or equivalent experience
- 4+ years of professional software development experience building scalable, distributed services with C or C++
- 4+ years of experience with storage protocols, kernel programming and/or embedded systems.
- 4+ years of experience in designing, analysing, and troubleshooting large-scale distributed systems
- Exposure to software development related to but not limited to block storage, file systems, storage caching, compression, snapshots, storage optimizations, etc. preferred
- Experience building tools and features that help monitor and debug storage performance
- Development experience in all phases of the product lifecycle
- Excellent collaboration skills, including experience working across organizational boundaries
#azurecorejobs
Responsibilities
- Collaborates with appropriate stakeholders to determine user requirements for a set of features. Begins to leverage a variety of feedback channels to incorporate insights into future designs or solution fixes. Reviews work items to deepen knowledge of product features in partnership with appropriate stakeholders and executes project plans, release plans, and work items.
- Creates and implements code for a product, service, or feature, reusing code as applicable. Writes and learns to create code that is extensible and maintainable. Considers diagnosability, reliability, and maintainability with few defects, and understands when the code is ready to be shared and delivered.
- Leverages subject-matter expertise of cross-product features with appropriate stakeholders to drive multiple group's project plans, release plans, and work items.
- Holds accountability as a Designated Responsible Individual (DRI), mentoring engineers across products/solutions, working on-call to monitor system/product/service for degradation, downtime, or interruptions.
- 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 and shares knowledge with other engineers.