Software Engineer II
Microsoft
Software Engineer II
Bangalore, Karnataka, India
Save
Overview
We are from Azure Core Compute Team! Calling all software engineers with a passion for pushing the boundaries of cloud technology! Join our dynamic team at Azure Core Compute and be at the forefront of building the next generation cloud that will redefine how businesses scale, collaborate, and thrive.
We are one of the most profitable and fast-growing business at Microsoft on the mission to make Azure the world’s computer powering all customer workloads! The Azure Core Compute host team is responsible for customer-facing general-purpose compute offerings and virtualization stack, containers, bare metal as well as exploring forward-looking host technologies including evolving the host OS, utilizing hardware offloads and leveraging disaggregation. As a mission-critical cloud platform, our goal is to ensure industry-leading availability, reliability, performance consistency at scale, compliance and security.
As a Software Engineer on our team, you will lead features that run on millions of nodes, work across organizations to meet the scale, elasticity, latency quality and reliability demands of our customers. You will have opportunities to learn new technologies and design the next version of services adapting to hardware evolution. You will have the freedom to ideate, create and provide thought leadership in bringing innovation to our products and engineering practices.
If you’ve dreamed of making global impact and love creating value for customers while also having fun, come talk to us today!
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 2+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python
- OR equivalent experience.
- Proficient system design, algorithmic skills, good knowledge of data structures.
- Proficient debugging, testing, and problem-solving skills.
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.
Additional or Preferred Qualifications:
- Bachelor's Degree in Computer Science
- OR related technical field AND 4+ 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 2+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python
- OR equivalent experience.
- 1+ years experience with the following:
- Native Windows or Linux Kernel development.
- Rust programming language.
- Hyper-V, VMWare, Docker or other virtualization technologies.
- Building highly scalable and efficient systems.
- Building tools, frameworks, systems for Quality & Fundamentals for improved Developer efficiency.
- Knowledge of Performance profiling tools.
- Proven ability to create componentized and well-architected software.
#azurecorejobs
Responsibilities
- Collaborate with appropriate stakeholders to determine user requirements for a scenario. Leverage a variety of feedback channels to incorporate insights into future designs or solution fixes.
- Lead discussions for the architecture of products/solutions and create proposals for architecture by testing design hypotheses and helping to refine code plans. Create, implement, optimize, debug, refactor and reuse code to establish and improve performance and maintainability, effectiveness and return on investment (ROI).
- Independently create a clear and articulated plan for testing and assuring quality of solutions. Identify the need for a broad versus selected approach in testing mechanisms and make informed decisions to implement the most effective tests.
- Leverage performance and profiling tools to identify hot spots and bottlenecks across hardware and software boundaries
- Act as a Designated Responsible Individual (DRI) and guide other engineers by developing and following the playbook, working on call to monitor service for degradation or downtime, alerting stakeholders about status and initiate actions to restore service.
- Act as a DRI for release management, ensure the release sticks to the schedule by identifying reasons for blockers/delays, improve the signals that are blocking deployments, triage the issues are new vs existing, mitigate and work towards improving the release process.
- Proactively seek new knowledge and adapt 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.