Principal Software Engineer
Microsoft
Principal Software Engineer
Bangalore, Karnataka, India
Save
Overview
Consider a world where unlimited storage is available and accessible to everyone. A place where everyone can access their books, music, photos, videos, and data from any device, anywhere, anytime. Have you ever envisioned a universally accessible storage system capable of recording all human knowledge, preserving every book, piece of music, and video ever created, or storing comprehensive data collected by scientists worldwide for collaborative purposes? Are you interested in joining a team that works towards these goals?
Then the Microsoft Azure Storage team is for you. Microsoft's cloud storage solution, Microsoft Azure Storage, is a scalable and highly distributed storage system designed to be accessible worldwide. We are experiencing rapid growth with many exabytes of data stored and are preparing systems for zettabyte scale to meet future demands. We are seeking a Principal Software Engineer with experience in distributed storage, particularly in Infrastructure and Resource Management of distributed systems across a geo-region. This position is suitable for individuals interested in working on a dynamic team with skilled engineers.
The Azure Storage team oversees operations of hundreds of thousands of servers at exabyte scale. We virtualize storage accounts across hardware and ensure high-performance transfer of customer storage accounts across units. Our focus is on infinitely scalable storage that scales on demand with minimal delay and no impact on performance. This field presents ongoing technical challenges and opportunities for innovation and we want talented and experienced engineers who are comfortable working on a fast-paced team and thrive in a startup like environment. The Platform is going to support the exponential growth in the coming years and presents many interesting technical problems. Our mantra is to innovate, grow and learn, and to be successful in these areas, you should have a growth mindset and be curious, as you will be solving challenges related to scale and reliability for a distributed system. You will also have an opportunity to make high impact changes on a daily basis as you build a hyper scale storage system that may indirectly or directly be used daily by your friends and family.
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
Required Qualifications:
- Bachelor's Degree in Computer Science or related technical field AND 10+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python
- OR equivalent experience.
- 6+ years of experience in building quality products and services in distributed systems, systems programming, and multi-threaded programming.
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 10+ years 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 AND 8+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python
- OR equivalent experience
#azurecorejobs
Responsibilities
- Works with appropriate stakeholders to determine user requirements for a set of features.
- Contributes to the identification of dependencies, and the development of design documents for a product area with little oversight.
- Creates and implements code for a product, service, or feature, reusing code as applicable.
- Contributes to efforts to break down larger work items into smaller work items and provides estimation.
- Acts as a Designated Responsible Individual (DRI) working on-call to monitor system/product feature/service for degradation, downtime, or interruptions and gains approval to restore system/product/service for simple problems.
- 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.