Principal Software Engineer

Overview

On Site
USD 133,600.00 - 256,800.00 per year
Full Time

Skills

High performance computing
C++
Artificial intelligence
Microsoft Azure
Cloud storage
Distributed computing
Computer science
C#
Multithreading
Parallel computing
Software engineering
Data structure
Analytical skill
Storage
Music
Video
Data
Collaboration
Microsoft
Roadmaps
Concurrent computing
Accountability
Software development
C
Java
JavaScript
Python
Screening
Cloud computing
PASS
Algorithms
Testing
Debugging
IC
Legal
Recruiting
Design
Documentation
Mentorship
Operations

Job Details

Have you ever imagined the world with an infinite amount of storage available and accessible to everyone? A place where everyone in the world can easily access their books/music/photos/video/any data from anywhere at any time via any means. Did you ever desire a universally accessible storage system to record all the knowledge known to mankind, to keep all the books/music/videos ever created, or to store all the data collected from all the scientists in the world for them to collaborate upon? Do you want to be part of a team that strives to bring these to reality? Do you like solving storage performance and scale problems for next generation workloads in Artificial Intelligence and High Performance Computing?

If so, the Microsoft Azure Storage team is what you are looking for. We are building Microsoft's cloud storage solution - Microsoft Azure Storage, which is a massively scalable, highly distributed, ubiquitously accessible storage system, designed to scale out and serve the entire world. We continue to have tremendous hockey stick growth, we have many Exabyte's of data stored, and are designing and building systems for Zettabyte scale to support demand growth for the coming years.

We are looking for a Principal Software Engenier who is passionate about distributed storage, more specifically in Object Storage. We are building the next generation Object Storage capabilities in Azure. As a Principal Software Engineer, you will be responsible for setting the technical roadmap guiding the team on executing on this roadmap. To be successful in these areas, you will thrive while solving challenges related to performance, availability, and concurrency for a distributed system.

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 Minimum 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#, Java, JavaScript, or Python
    • OR equivalent experience.


Other Requirements:
  • 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.
  • Experience building distributed systems and large-scale storage
  • Experience with multi-threaded/parallel programming
  • Experience in software engineering practices, coding and solid foundation in data structures, algorithms with releant testing, debugging and analytical skills


Software Engineering IC5 - The typical base pay range for this role across the U.S. is USD $133,600 - $256,800 per year. There is a different range applicable to specific work locations, within the San Francisco Bay area and New York City metropolitan area, and the base pay range for this role in those locations is USD $173,200 - $282,200 per year.

Certain roles may be eligible for benefits and other compensation. Find additional benefits and pay information here:

Microsoft is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to age, ancestry, color, family or medical care leave, gender identity or expression, genetic information, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran status, race, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable laws, regulations and ordinances. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. If you need assistance and/or a reasonable accommodation due to a disability during the application or the recruiting process, please send a request via the Accommodation request form .

Benefits/perks listed below may vary depending on the nature of your employment with Microsoft and the country where you work.

#azurecorejobs

Responsibilities

  • Partners with appropriate stakeholders to determine user requirements for a set of scenarios.
  • Leads identification of dependencies and the development of design documents for a product, application, service, or platform.
  • Leads by example and mentors others to produce extensible and maintainable code used across products.
  • Leverages subject-matter expertise of cross-product features with appropriate stakeholders (e.g., project managers) 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.
  • Leads identification of dependencies and the development of design documents for a product, application, service, or platform.