Our Ability Jobs

Job Information

Microsoft Corporation Software Engineer II- Backend in Vancouver, British Columbia

Microsoft is a company where passionate innovators come to collaborate, envision what can be and take their careers further. This is a world of more possibilities, more innovation, more openness, and the sky is the limit thinking in a cloud-enabled world.

Microsoft’s Azure Data engineering team is leading the transformation of analytics in the world of data with products like databases, data integration, big data analytics, messaging & real-time analytics, and business intelligence. The products our portfolio include Microsoft Fabric, Azure SQL DB, Azure Cosmos DB, Azure PostgreSQL, Azure Data Factory, Azure Synapse Analytics, Azure Service Bus, Azure Event Grid, and Power BI. Our mission is to build the data platform for the age of AI, powering a new class of data-first applications and driving a data culture.

We are looking for a Software Engineer II- Backend. ​​Within Azure Data, the big data analytics team provides a range of products that enable data engineers and data scientists to extract intelligence from all data – structured, semi-structured, and unstructured. We build the Data Engineering, Data Science, and Data Integration pillars of Microsoft Fabric.​

​​Cosmos Analytics provides critical big data infrastructure for Microsoft. Our team owns its own programming language, compiler, data-aware optimizer, type system, sorting/filtering/hashing/etc algorithms and libraries, and a distributed job manager. Almost every product and service at Microsoft uses Cosmos to understand their customers, and we enable from Bing relevance, to Windows devices, from Office feature usage, to the report we have to file with Wall Street every quarter.

This position is to work on the job manager team. We run hundreds of thousands of jobs per day, which are composed by billions of vertices, and the job manager manages all of them. Those jobs read and write close to 8 EiBs of data per day, touching close to 30EiB per week. We leverage open-source technology like YARN and Apache Tez, but develop the mission critical parts of the system ourselves, including the job scheduler that is part of the job manager. Development is done in Java (required) and C++.

The job manager team interfaces with the platform team and is frequently the first to handle live site incidents. We care about our customers greatly and prioritize reliability and affordability when designing new features.

The team has a healthy mix of junior and senior engineers, and we have a great team environment going. We are a collaborative and supportive group and offer a great place to learn. Our group is diverse, both in their life paths, and their experience around the industry.

It is an expectation that the engineer is available between 10am to 4pm PST for meetings and team chats.

​​

We do not just value differences or different perspectives. We seek them out and invite them in so we can tap into the collective power of everyone in the company. As a result, our customers are better served.

Responsibilities

  • We are looking for a backend engineer doing development tasks.

  • Design and develop distributed systems. Coding is critical to this position.

  • Deploy systems to production. Production health is a direct responsibility of this position, including oncall duties.

  • Define and monitor metrics to track both production health and feature adoption.

  • Work with customers to resolve their issues and gather requirements for new features.

  • Work with Microsoft stakeholders in and out of the immediate team to make sure our code is compliant and secure, as much as it solved the customer problems​

Embody our culture (https://careers.microsoft.com/v2/global/en/culture) and values (https://www.microsoft.com/en-us/about/corporate-values)

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

  • 2+ years of experience in developing and shipping complex and scalable software systems, managing live site incidents

  • 1+ years of experience working in large scale distributed systems

  • 1+ years of experience in building tools

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/Additional 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.

  • ​​Have a deep desire to work collaboratively, solve problems with groups, find win/win solutions and celebrate successes.

  • Experience with Apache Spark eco-system.

  • Great design and problem-solving skills, with a strong passion for performance analysis, quality and engineering excellence at scale. Great curiosity and willingness to question.

  • Solve problems by always leading with deep passion and empathy for customers. Get excited by the challenge of hard technical problems.

  • Our code runs on hundreds of thousands of machines in multiple continents. Knowledge in distributed systems, including high-performance distributed storage, databases and networking.

  • Experience in database internals (e.g., B+ trees, query optimization) a major plus

  • Experience in compiler internals (e.g., MySQL/PostgreSQL query compiler, C++, .NET) a major plus

  • Experience in high performant, lock-free, native programming in distributed systems is a major plus

  • Experience working with K8

Software Engineering IC3 - The typical base pay range for this role across Canada is CAD $83,600 - CAD $159,600 per year.

Find additional pay information here:

https://careers.microsoft.com/v2/global/en/canada-pay-information.html

Microsoft will accept applications for the role until November 20, 2024.

#azdat #azuredata ​​#azuredata #analytics​

Microsoft is an equal opportunity employer. Consistent with applicable law, all qualified applicants will receive consideration for employment without regard to age, ancestry, citizenship, color, family or medical care leave, gender identity or expression, genetic information, immigration status, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran or military status, race, ethnicity, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable local laws, regulations and ordinances. If you need assistance and/or a reasonable accommodation due to a disability during the application process, read more about requesting accommodations (https://careers.microsoft.com/v2/global/en/accessibility.html) .

DirectEmployers