- Doctoral Degree
- Bachelor's Degree
- Master's Degree
- Software Development
Come work on an exciting language and compiler effort that is making C safer! The Azure Sphere team is looking for a Principal Compiler Engineer to work on the Checked C compiler. There is an urgent need in IoT for improved security. C is used for most IoT software, but C is prone to low-level programming errors that cause security vulnerabilities. Checked C extends C to add bounds checking and improved type safety, eliminating entire classes of vulnerabilities. The Checked C compiler is based on LLVM/clang.
As a Principal Engineer, you will provide technical leadership for the Checked C compiler and help drive adoption of Checked C. You will be hands-on in the compiler and implement and own one or more major components of the Checked C compiler. You may also contribute to the design of new features of Checked C. Your hands-on work may include working on the compiler front-end, type checker, static checker, optimization of runtime checks, or an automatic conversion tool. We are looking for an engineer who has production compiler development experience and who values shipping.
For more information on Checked C, see https://github.com/Microsoft/checkedc.
To learn more about this exciting new project, please visit www.microsoft.com/en-us/azure-sphere.
Provide technical leadership to the project, including designing features, setting direction, and prioritizing work.
Mentor engineers and maintain a culture of high-quality software development.
Drive adoption of Checked C by working with adopters of Checked C and ensuring the right features are being built.
Design and implement compiler support and components for Checked C.
Create tests that show that components and language features work properly.
Deliver production-quality implementations.
Participate in the open-source compiler community.
10+ years of software development experience.
6+ years of experience implementing compilers or programming languages.
4+ years of experience shipping or creating production-quality compiler implementations. Advance course work or research may satisfy some of the experience requirement.
A bachelor's degree in computer science, engineering, or math.
Experience developing production code in C++, C#, or Java.
Masters or Ph.D.
Experience with clang/LLVM.
C or C++ programming experience, including prior systems programming experience.
Knowledge of programming language semantics or experience working from programming language specifications.
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 Secure Screen: This position will be required to pass the Microsoft Cloud background check and credit history analysis upon hire/transfer and every year 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.