Microsoft Corporation Senior Software Engineer in Hyderabad, India
Are you looking to make a real difference in Microsoft’s mission to empower every person and organization to achieve more with the power of cloud computing? Do you want to work on the cutting edge of Cloud Computing, create the systems that make millions of machines look like one big cloud, build highly scalable disturbed systems? Do you want to be part of a team where we work together to do what it takes for our customers to be successful while having fun and learning along the way?
The Azure Compute IDC team builds many critical components that help Microsoft deliver cloud computing to our customers. Our focus is to build & operate fully automated, highly scalable and trustworthy cloud platforms on which our customers can some of their most mission critical applications. Systems we build do effective capacity management and utilization of resources in the data center, allow us and our customers to easily write and deploy services, simplify monitoring, debugging and troubleshooting of services, secure the platform against malicious actors and most importantly deliver the reliability, performance and availability that our customers expect. The Azure team designs and builds the software platform that powers millions of servers in datacenters around the globe, providing core infrastructure software services for properties like Bing, Xbox, SQL, Messenger.
Engineers in this team work on solving some of the most complex and challenging problems in distributed systems, for example:
Systems that dynamically allocate computing resources, balance load, detect failure automatically, repairs and recovers erroneous applications, manage application deployment, and updates application data safely, quickly, and frequently. The platform furthermore provides foundational services such as messaging, queuing, storage, and caching services to enable rich application services for Microsoft.
Platform-as-a-Service (PaaS) - a highly decentralized autonomous platform that cleanly abstracts and effectively solves hard distributed systems problems like failure detection, leader election, replicated state machines, etc. and makes it easy to develop and manage stateless and stateful reliable micro-services running at high-density on shared pool of machines. This platform powers many critical 1st and 3rd party internet scale services and runs symmetrically in cloud and on premises.
Systems that scale and perform in almost all dimensions - millions of transactions per second with multiple GB/s ingress and egress with sub-second end-to-end latency, systems that run across tens or hundreds of thousands of machines, and handle petabytes of data, etc.
Integration ecosystem - support clients running on various hardware form factors and integrate with different backend systems like Hadoop, Storm, Azure Stream Analytics, Cosmos, etc.
The Azure India Team is looking for highly motivated and talented engineers to design and deliver the next generation platform for all of these. Huge challenges of scale and extensibility await, and it is an exciting place to grow and have a significant contribution with immediate worldwide impact. We are focusing on app platform, data platform and the machine learning opportunities it unlocks. We are a fun team that likes to get things done (we ship every week!), where developers are empowered to innovate. If you are systems developer that has a keen eye for usability, reliability and performance, this is a great opportunity for you to be part of a highly strategic products and services for Microsoft.
An ideal candidate will have the following skills and experiences:
Passion for software quality and security.
5 years of professional software engineering experience
BS/MS/PhD in Computer Science or equivalent industry experience
Solid coding skills in C/C++ or C#/Java
Solid CS fundamentals, fluent in multi-threaded and asynchronous programming, strong inclination for architecting at scale.
Excellent technical design, problem solving, debugging and communication skills
Significant experience in systems side of software development including one or more of the following: highly scalable infrastructure, distributed systems, database engines.
Thorough understanding of computer architecture, memory models, and algorithms design.
Proven ability to create componentized, well-architected software at a component level.
Demonstrated experience in shipping high quality products and services is a plus
Previous experience with web services, storage, distributed systems and system-level programming, as well as leadership skills and experience is a plus.
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.
Benefits/perks listed below may vary depending on the nature of your employment with Microsoft and the country where you work.
- Microsoft Corporation Jobs