Cybercrime and malware is a big business with annual profits of more than one trillion dollars. Every year more than two hundred thousand unique pieces of malware are created and released.
Combatting all these threats while still meeting our customers' expectations for system performance and reliability requires a talented and dynamic engineer who is passionate about performance and keeping our customers safe, regardless of OS.
As a software engineer focusing on performance on the Defender engine team, you will be responsible for ensuring that Defender achieves the lowest possible system impact while still keeping our customers safe.
Malware attempts to exploit every protocol, format, or technology that runs on a device. Regardless of whether the attack is via firmware, network protocols, archive formats, document formats, or file system quirks to name a few, the engine you help build must be able to detect and prevent the attack with the least possible system impact.
In this role you will be responsible for ensuring that defender achieves best in class performance via a number of different approaches.
You will be responsible for helping define and execute on performance initiatives across the team, as well as providing performance support and mentoring to the team.
Work with PMs, security researchers, and engineering leaders across the team to develop a comprehensive plan to proactively validate engine performance and prevent regressions across all platforms.
Propose and drive architectural changes to significantly improve performance of key scenarios.
Mentor and coach the team on performance concepts, investigation techniques, and best practices.
Contribute to investigations of critical performance issues.
Bachelors, Masters, or PhD in computer science, engineering or equivalent.
7+ years of experience in the software engineering industry with strong problem-solving skills.
Solid knowledge of Windows or Linux operating system architecture, kernel concepts and system services and a desire to learn more.
Familiarity with software performance concepts and methodology.
Experience with software performance analysis and optimization of native code (C / C++) system applications on Windows or Linux.
Familiarity with system-wide stackwalking profilers and trace-based performance analysis tools.
Solid analytical and troubleshooting skills.
Familiarity with efficient software algorithms.
Familiarity with tuning for hardware architecture.
Experience with C# development (for extending standard performance analysis tools)
Experience with ETW or perf / lttng, as well as Microsoft Windows Performance Analyzer.
Familiarity with Azure analytics services.