Principal Software Engineer
Microsoft
Principal Software Engineer
Vancouver, British Columbia, Canada
Save
Overview
In the Messaging Services team, we are continuously evolving our messaging micro-services to support new messaging features while maintaining a high performance, scalable and cost-effective eco-system. We are looking for an experienced Principal Software Engineer who can help us build revolutionary, robust and scalable back-end services. This is a unique opportunity to hone your system design skills, and will give you exposure to cutting edge technology stack (.NET Core, Typescript, Service Fabric, Redis, Azure Cosmos DB) as well as cross-org collaboration opportunities. You will have E2E (End-to-End) ownership and make huge impact in this critical area.
As a team we’re proud of what we build and how we build it. We run lean, obsess about customers and use an evidence-based approach to decision making. We have live-site first, metrics-driven culture that prevents us from accumulating debt and necessity to put out fires on daily basis. You will be in a position that carries a ton of responsibility and provides opportunities to impact customers’ satisfaction and grow the business exponentially.
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 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:
- Experience working with Service Fabric or Kubernetes, CosmosDB, Kafka, Event-hub, Gen AI, RAG.
- Experience working with M365 components like AAD, Exchange, Substrate, SharePoint.
- Drive to improve performance, availability and supportability of services.
- Drive to increase efficiencies through automation.
- Passionate about solving challenging problems.
- Solid cross team/organization collaboration skills.
Software Engineering IC5 - The typical base pay range for this role across Canada is CAD $135,800 - CAD $253,000 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.
Responsibilities
- Partner with appropriate stakeholders to determine user requirements for a set of scenarios.
- Lead identification of dependencies and the development of design documents for a product, application, service, or platform and lead by example and mentor others to produce extensible and maintainable code used across products.
- Apply state-of-the-art techniques in deep learning, natural language processing, and conversational AI to build and improve the AI capabilities of Microsoft Teams.
- Experiment, prototype, and evaluate new ideas and approaches for AI-powered messaging features.
- Work closely with other AI teams across Microsoft to leverage and share best practices and resources.
- You are expected to dive deep into Azure technologies and distributed database systems. You will collaborate with partners, internal and external to Microsoft Teams organization, in order to design and build features that drive growth in our user base.
- Leverage 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.
-
Other