Overview
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.
Responsibilities
- 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.