Principal Software Engineer
Visual Studio Code is where millions of developers turn ideas into working software. We are looking for a Principal Software Engineer in Zurich to tackle hard product and platform challenges as VS Code and GitHub Copilot continue to reshape how developers build software.
You will help to evolve VS Code as a market leading developer environment, seamlessly connecting its editor, agentic coding abilities, platform and extension ecosystem. You will identify where investment matters, prove difficult ideas in code, and establish approaches that multiple teams can build on. This is hands-on technical leadership: the opportunity to change both what developers can accomplish and what our engineering teams can deliver.
About the team
We work in the open, with direct feedback from developers and extension authors. You will partner with engineers, designers, researchers, and product leaders across our team, GitHub, and Microsoft. We combine community feedback, research, experiments, and engineering judgment to decide what to build. Performance, accessibility, extensibility, security, and developer control are part of the product, not finishing touches.
Examples of work
The role spans core VS Code and Copilot; illustrative projects include:
- Address architectural bottlenecks in large workspaces, proving an approach in code that multiple feature teams can adopt.
- Define extension or workspace APIs that unlock new capabilities while preserving compatibility with existing extensions and remote development environments.
- Prototype how developers delegate, review, and validate work with Copilot, then establish the product and platform boundaries needed to ship it.
- Reshape and support our engineering process with custom solutions fine-tuned for throughput and quality.
- Identify significant product opportunities and systemic engineering problems; set technical direction that balances near-term delivery with long-term product and platform health.
- Prove approaches through prototypes, critical implementation, testing, and difficult debugging, using hands-on work to guide architectural decisions.
- Lead cross-team delivery across Microsoft and GitHub, resolving architectural disagreements, clarifying ownership and API boundaries, and enabling teams to deliver independently.
- Own outcomes beyond release, using adoption, quality signals, evaluations, experiments, and user feedback to guide investment and adjust course.
- Improve engineering effectiveness across teams through testing strategies, performance work, shared design patterns, and tools for rapid, reliable experimentation.
- Lead technical discussions in the open, investigate community-reported issues, and work directly with developers and extension authors to shape designs.
- Mentor experienced engineers and technical leaders, helping them develop judgment and take ownership without making yourself a bottleneck.
Basic 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.
- Demonstrated technical leadership across multiple teams, including setting direction, building alignment, and delivering substantial initiatives without relying on reporting-line authority.
- Solid hands-on coding and design skills, with the ability to become productive in large TypeScript and Rust codebases.
- Experience designing shared platforms, APIs, or large application architectures, with sound judgment about extensibility, compatibility, performance, and maintainability.
- Solid product judgment, including identifying opportunities, setting priorities amid ambiguity, and turning technical decisions into practical designs and measurable improvements for users.
- A track record of mentoring experienced engineers and improving the effectiveness of teams beyond your immediate area.
- Clear communication skills, including explaining complex technical decisions and navigating tradeoffs with engineering and product partners.
Preferred Qualifications
We welcome a range of product backgrounds; these are helpful experiences, not a checklist. Previous work on developer tools, open-source projects, or AI products is not required.
- Master's Degree in Computer Science or related technical field AND 8+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python OR Bachelor's Degree in Computer Science or related technical field AND 12+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python OR equivalent experience.
- Experience with TypeScript, JavaScript and Rust.
- Experience evolving interactive products with attention to usability and accessibility.
- Experience guiding cross-platform architecture, performance improvements, or major migrations in a large application.
- Experience establishing experimentation and feedback practices that connect engineering decisions to user outcomes.
- Practical familiarity with AI coding tools and sound judgment about where they help, where they fall short, and how they change development workflows.
- Experience providing technical leadership on AI-powered products, open-source projects, or extensible applications.
Product and open source
https://code.visualstudio.com
https://github.com/microsoft/vscode
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.
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. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. If you need assistance and/or a reasonable accommodation due to a disability during the application or the recruiting process, please send a request via the Accommodation request form.
Benefits/perks listed below may vary depending on the nature of your employment with Microsoft and the country where you work.
Software Engineering IC5 - The typical base pay range for this role across Switzerland is CHF 183,800.00 - CHF 309,700.00 per year. Certain roles may be eligible for benefits and other compensation.
Find additional benefits and pay information here:
https://careers.microsoft.com/v2/global/en/corporate-pay/switzerland-corporate-pay.html
This position will be open for a minimum of 5 days, with applications accepted on an ongoing basis until the position is filled.
Microsoft is an equal opportunity employer. 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 with religious accommodations and/or a reasonable accommodation due to a disability during the application process, read more about requesting accommodations.