Job Information
Microsoft Corporation Software Engineer II in Vancouver, British Columbia
The AI Frameworks team at Microsoft develops AI software that enables running AI models everywhere, from world’s fastest AI supercomputers, to servers, desktops, mobile phones, IoT devices, and internet browsers. We collaborate with our hardware teams and partners to build the software stacks for novel AI accelerators. We work closely with ML researchers and developers to optimize and scale out model training and inference.
The team operates at the intersection of AI algorithmic innovation, purpose-built AI hardware, systems, and software. We are a cross-discipline team of highly capable and motivated people with a collaborative and inclusive culture.
As a Software Engineer II on the team, you will be responsible for designing and implementing development tool chain widely used by internal as well as external partners, with focus on tools related to AI hardware simulator, performance estimation and modelling, custom device debugger and integration in environments targeting large scale testing and verification.
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.
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.
Responsibilities
This is a technical role that demands hands-on software design and development skills, where object-oriented and multi-threaded C++ experience is a must. In addition, computer architecture knowledge, AI related experience, typescript UI experience and/or Azure experience would be a plus. We are seeking a Software Engineer II with an entrepreneurial mindset that will help us not only to develop, but to scale our simulator toolchain to meet our customers’ requirements. In this role, you will be expected to:
Apply proficient engineering principles to develop robust AI hardware simulator-based toolchain.
Support integration and maintenance of the developed tool chain into multiple external workflows.
Collaborate broadly across multiple disciplines from hardware designers to ML developers.
Independently identify, scope, root-cause, implement, fix and verify bugs and/or feature requests reported/requested by partner teams.
Software design, development and debugging in C++, Python, and other languages.
Other:
- Embody our culture (https://careers.microsoft.com/v2/global/en/culture) and values (https://www.microsoft.com/en-us/about/corporate-values?SilentAuth=1&wa=wsignin1.0) .
Qualifications
Required 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 with C++.
1+ year(s) of experience in concurrent programing.
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 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.
Familiar with software development environment (Azure DevOps preferred)
Familiar with at least one scripting language (Python preferred
Computer architecture knowledge. (CPU, DMA, NoC, cache, ASIC)
Performance optimization or modelling experience.
Hardware modelling experience.
Typescript UI experience. (VsCode extension coding preferred)
Proficient cross-team collaboration skills and the desire to collaborate in a team of researchers and developers.
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 February 19, 2025.
#MSFTNSBE25
#AIPLATFORM
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) .
Microsoft Corporation
- Microsoft Corporation Jobs